import Instance from "../../../Core/Utils/Instance";
import { BaseStartView } from "../scene/login/BaseStartView";
import { WxStartView } from "../scene/login/WxStartView";
import { MainView } from "../scene/main/MainView";
import { TtStartView } from "../scene/login/TtStartView";
import { SettingWindow } from "../view/game/SettingWindow";
import { FormationWindow } from "../view/game/FormationWindow";
import { RobotView } from "../view/game/RobotView";
import { PlayView } from "../view/game/PlayView";
import { TeachingWindow } from "../view/game/TeachingWindow";
import { RoomWindow } from "../view/game/RoomWindow";
import { AlertWindow } from "../view/window/AlertWindow";
import { ExitRoomWindow } from "../view/window/ExitRoomWindow";
import { RankWindow } from "../view/game/RankWindow";
import { SidebarWindow } from "../view/window/SidebarWindow";
import { TurntableWindow } from "../view/window/TurntableWindow";
import { TeachView } from "../view/game/TeachView";
import { TeacherRewardWindow } from "../view/window/TeacherRewardWindow";
import { TestWindow } from "../view/window/TestWindow";
import { DailyAwardWindow } from "../view/window/DailyAwardWindow";
import { GameLogWindow } from "../view/window/GameLogWindow";
export default class WindowObject {
    public readonly MainView: string = `MainView`;
    public readonly WxStartView: string = `WxStartView`;
    public readonly TtStartView: string = `TtStartView`;
    public readonly BaseStartView: string = `BaseStartView`;
    public readonly SettingWindow: string = `SettingWindow`;
    public readonly FormationWindow: string = `FormationWindow`;
    public readonly RobotView: string = `RobotView`;
    public readonly PlayView: string = `PlayView`;
    public readonly RoomWindow: string = `RoomWindow`;
    public readonly AlertWindow: string = `AlertWindow`;
    public readonly TeachingWindow: string = `TeachingWindow`;
    public readonly RankWindow: string = `RankWindow`;
    public readonly ExitRoomWindow: string = `ExitRoomWindow`;
    public readonly SidebarWindow: string = `SidebarWindow`;
    public readonly TurntableWindow: string = `TurntableWindow`;
    public readonly TeachView: string = `TeachView`;
    public readonly TeacherRewardWindow: string = `TeacherRewardWindow`;
    public readonly DailyAwardWindow: string = `DailyAwardWindow`;
    public readonly TestWindow: string = `TestWindow`;
    public readonly GameLogWindow: string = `GameLogWindow`;


    private _windowMap: Object;
    public static get ins(): WindowObject {
        return Instance.get(WindowObject);
    }
    public init(): void {
        this._windowMap = {};
        this._windowMap[this.MainView] = MainView;
        this._windowMap[this.WxStartView] = WxStartView;
        this._windowMap[this.TtStartView] = TtStartView;
        this._windowMap[this.BaseStartView] = BaseStartView;
        this._windowMap[this.SettingWindow] = SettingWindow;
        this._windowMap[this.FormationWindow] = FormationWindow;
        this._windowMap[this.RobotView] = RobotView;
        this._windowMap[this.PlayView] = PlayView;
        this._windowMap[this.TeachingWindow] = TeachingWindow;
        this._windowMap[this.RoomWindow] = RoomWindow;
        this._windowMap[this.AlertWindow] = AlertWindow;
        this._windowMap[this.ExitRoomWindow] = ExitRoomWindow;
        this._windowMap[this.RankWindow] = RankWindow;
        this._windowMap[this.SidebarWindow] = SidebarWindow;
        this._windowMap[this.TurntableWindow] = TurntableWindow;
        this._windowMap[this.TeachView] = TeachView;
        this._windowMap[this.TeacherRewardWindow] = TeacherRewardWindow;
        this._windowMap[this.DailyAwardWindow] = DailyAwardWindow;
        this._windowMap[this.GameLogWindow] = GameLogWindow;
        this._windowMap[this.TestWindow] = TestWindow;
    }
    public get windowMap(): object {
        return this._windowMap;
    }
}